package model;

/**
 * Superklasse voor Gebruiker en Admin. 
 * Beschrijft abstract een persoon met gebruikersnaam,
 * wachtwoord en een unieke user-id.
 * @author Dennis
 * @author Jaap
 */

public abstract class Persoon {
	private String gebruikersnaam;
	private int wachtwoord;
	private int persoonID;
	private Mailbox mailbox;
	
	/**
	 * @param naam Naam van persoon
	 * @param wachtwoord Wachtwoord van persoon
	 */
	public Persoon(String naam, int wachtwoord) {
		this.gebruikersnaam = naam;
		this.wachtwoord = wachtwoord;
		mailbox = new Mailbox();
	}
	
	/**
	 * returnt naam van Persoon
	 * @author Jaap & Dennis
	 * @return de naam
	 */
	public String getNaam() {
		return gebruikersnaam;
	}
	
	/**
	 * geeft id van persoon
	 * @author Dennis
	 * @author Jaap
	 * @return userID
	 */
	public int getID(){
		return persoonID;
	}
	
	/**
	 * geeft wachtwoord van persoon
	 * @author Dennis
	 * @author Jaap
	 * @return wachtwoord
	 */
	public int getWachtwoord() {
		return wachtwoord;
	}
	
	/**
	 * geeft de mailbox
	 * @author Dennis
	 * @author Jaap
	 * @return Mailbox
	 */
	public Mailbox getMailbox() {
		return mailbox;
	}
	
	/**
	 * Verandert het id naar het meegeleverde ID
	 * @author Dennis
	 * @author Jaap
	 * @param ID Het userID
	 */
	public void setID(int ID){
		persoonID = ID;
	}	
}
